home *** CD-ROM | disk | FTP | other *** search
- Path: news.rotterdam.luna.net!news
- From: poing@luna.nl (Paul van der Valk)
- Newsgroups: comp.sys.amiga.misc
- Subject: Re: OS features
- Date: 12 Jan 1996 23:27:43 GMT
- Organization: Luna Internet Services
- Message-ID: <2022.6585T1348T2429@luna.nl>
- References: <92747544038@PAPA.NORTH.DE> <4b3h9s$1st@alterdial.UU.NET>
- <2152.6561T63T2136@cycor.ca> <4b7i18$si1@vixen.cso.uiuc.edu>
- <oj6raxxrr0o.fsf@hpsrk.fc.hp.com> <13213431@sourcery.han.de>
- <4cpmlv$obe@ousrvr3.oulu.fi> <4cqqfq$khf@serpens.rhein.de>
- <4csgvl$dje@ousrvr3.oulu.fi> <4ctfr5$7v@serpens.rhein.de>
- <4cvp0u$925@ousrvr3.oulu.fi> <4d069j$9ma@serpens.rhein.de>
- NNTP-Posting-Host: 08-static-a.rotterdam.luna.net
- X-Newsreader: THOR 2.1 (Amiga;TCP/IP beta 5)
-
-
- Michael van Elst writes:
-
- >kinnunen@stekt.oulu.fi (Teijo Kinnunen) writes:
-
- >>If memory protection were introduced, the only problematic area is
- >>interprocess messaging.
-
- >No. It is shared access to data structures. If it only were the
- >messages we had no real problem.
-
- I've been thinking about this for a while. There is plenty of read-access
- to shared datastructures in the amiga environment, but on how many occasions
- do you WRITE to shared memory? I can think of one example: the Disable()
- assembly macro. Any others? I think that 99% of (application level) shared
- memory access is read-access.
-
- I'll settle for a MP scheme where every task has read access to the entire
- address range, and read/write access to 'private memory'. This writable
- memory should be allocated using a new AllocWritableMem() (or something)
- call.
-
- Let's get practical. Suppose that an upcoming OS supports the following:
- (1) an AllocWritableMem() function.
- (2) a NewDisable() function.
- (3) some MMU magic for existing OS-code that modifies shared memory
- (think about screen locking etc.)
-
- New applications would call (1) and (2) instead of the existing AllocMem()
- and Disable(). Point (3) is completely transparant to the application.
-
- It will be very easy to recompile existing code in this new style.
- The current messaging system can be left unmodified, provided that the
- receiving task doesn't modify the message data.
-
- Cons:
- - Old style apps can still corrupt foreign memory.
- - New style apps can still read from illegal memory (no problem with me).
-
- Pros:
- - New style apps are safe to use. They can be corrupted themselves by
- old style code, but they won't harm others.
- - Old code can still be used (at the risk of trashing memory).
- - Existing software can be easily recompiled for the new scheme.
- - Relatively easy to implement at OS-level.
-
- There are some details I haven't gone into but I don't see them as
- problematic. What do you think of it? Am I overlooking something? :-)
-
-
- Paul
-
-
-